home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / elk-2_0.lha / elk-2.0 / lib / xm / message-box.d < prev    next >
Encoding:
Text File  |  1989-10-12  |  972 b   |  32 lines

  1. ;;; -*-Scheme-*-
  2.  
  3. (define-widget-type 'messagebox "MessageB.h")
  4.  
  5. (prolog
  6.  
  7. "static SYMDESCR Type_Syms[] = {
  8.    { \"dialog-error\",        XmDIALOG_ERROR },
  9.    { \"dialog-information\",  XmDIALOG_INFORMATION },
  10.    { \"dialog-message\",      XmDIALOG_MESSAGE },
  11.    { \"dialog-question\",     XmDIALOG_QUESTION },
  12.    { \"dialog-warning\",      XmDIALOG_WARNING },
  13.    { \"dialog-working\",      XmDIALOG_WORKING },
  14.    { 0, 0}
  15. };")
  16.  
  17. (define-widget-class 'message-box 'xmMessageBoxWidgetClass)
  18.  
  19. (define-callback 'message-box 'cancelCallback   #t)
  20. (define-callback 'message-box 'okCallback       #t)
  21.  
  22. (define scheme->dialog-type
  23. "   return (XtArgVal)Symbols_To_Bits (x, 0, Type_Syms);")
  24.  
  25. (define message-box-callback->scheme
  26. "   return Get_Any_CB ((XmAnyCallbackStruct *)x);")
  27.  
  28. (scheme->c 'message-box-dialogType      scheme->dialog-type)
  29.  
  30. (c->scheme 'message-box-cancelCallback  message-box-callback->scheme)
  31. (c->scheme 'message-box-okCallback      message-box-callback->scheme)
  32.